View তৈরি এবং কনফিগার করা

Web Development - এএসপি ডট (ASP.Net) - ভিউ (Views) এবং HTML Helpers |
1
1

ASP.Net MVC (Model-View-Controller) আর্কিটেকচারে, View হলো সেই অংশ যা ব্যবহারকারীর কাছে ডাটা প্রদর্শন করে। এটি সাধারণত Razor ভিউ ইঞ্জিন ব্যবহার করে HTML এবং C# কোডের সংমিশ্রণ তৈরি করে। ASP.Net Core MVC অ্যাপ্লিকেশনে, View তৈরি এবং কনফিগার করা সহজ এবং এটি MVC এর একটি গুরুত্বপূর্ণ অংশ।


View কি?

View হলো ব্যবহারকারীর সামনে দেখানোর জন্য একটি পৃষ্ঠা বা টেমপ্লেট যা ডাইনামিক HTML তৈরি করে। এটি সাধারণত Model থেকে ডাটা নেয় এবং তা HTML এর মাধ্যমে প্রদর্শন করে। ASP.Net Core MVC-এ View সাধারণত Razor ফাইল (.cshtml) হিসেবে তৈরি হয়।

Razor ভিউ ইঞ্জিন

Razor হলো একটি সিঙ্গেল-টেমপ্লেট ইঞ্জিন যা C# কোড এবং HTML কে একসাথে ব্যবহার করার সুযোগ দেয়। Razor ফাইলের একক এক্সটেনশন হল .cshtml এবং এতে HTML, C#, এবং Razor সিনট্যাক্স ব্যবহার করা যায়।


View তৈরি করার পদক্ষেপ

১. Controller তৈরি করা

প্রথমে আপনাকে একটি Controller তৈরি করতে হবে। Controller সাধারণত অনুরোধের প্রতি প্রতিক্রিয়া হিসেবে Action মেথডের মাধ্যমে ডাটা View এ পাঠায়।

public class HomeController : Controller
{
    public IActionResult Index()
    {
        var products = new List<string> { "Product 1", "Product 2", "Product 3" };
        return View(products); // ডাটা View এ পাঠানো হচ্ছে
    }
}

এখানে, Index মেথডে একটি লিস্টের মাধ্যমে ডাটা পাঠানো হচ্ছে, যা View-এ প্রদর্শিত হবে।

২. View তৈরি করা

এখন আপনাকে Views ফোল্ডারে Home নামে একটি ফোল্ডার তৈরি করতে হবে (যেহেতু কন্ট্রোলারের নাম HomeController)। তারপর Index.cshtml নামে একটি Razor ফাইল তৈরি করুন।

/Views
    /Home
        Index.cshtml

৩. Razor View তৈরি এবং ডাটা প্রদর্শন

Index.cshtml ফাইলের মধ্যে HTML এবং Razor সিনট্যাক্স ব্যবহার করে ডাটা প্রদর্শন করা হয়।

@model IEnumerable<string> <!-- এখানে ViewModel (ইউজার ডাটা) প্রাপ্ত হচ্ছে -->

<!DOCTYPE html>
<html>
<head>
    <title>Products</title>
</head>
<body>
    <h1>Product List</h1>
    <ul>
        @foreach(var product in Model) <!-- Model এর মধ্যে পাঠানো ডাটা -->
        {
            <li>@product</li> <!-- প্রতিটি প্রোডাক্ট প্রদর্শন করা হচ্ছে -->
        }
    </ul>
</body>
</html>

এখানে, @model ডিরেকটিভের মাধ্যমে আপনি কন্ট্রোলার থেকে আসা ডাটা Model হিসেবে View এ গ্রহণ করছেন। এরপর foreach লুপ ব্যবহার করে সেই ডাটা HTML এর মধ্যে প্রদর্শন করা হচ্ছে।


View কনফিগারেশন

ASP.Net Core MVC অ্যাপ্লিকেশনে, View কনফিগারেশন সাধারণত _ViewStart.cshtml এবং _Layout.cshtml ফাইলের মাধ্যমে করা হয়। এই ফাইলগুলির মাধ্যমে আপনি View এর লেআউট, অংশ এবং সাধারণ কনফিগারেশন নির্ধারণ করতে পারেন।

১. _ViewStart.cshtml

_ViewStart.cshtml ফাইলটি আপনাকে প্রতিটি View এর জন্য সাধারণ কনফিগারেশন করতে দেয়। এটি সাধারণত Views ফোল্ডারে থাকে এবং সমস্ত ভিউ ফাইলের জন্য প্রাথমিক কনফিগারেশন নির্ধারণ করে।

@{
    Layout = "_Layout"; <!-- সকল View এর জন্য লেআউট পাতা নির্ধারণ -->
}

এখানে, Layout প্রপার্টি ব্যবহার করে একটি সাধারণ লেআউট পাতা _Layout.cshtml নির্ধারণ করা হয়েছে, যা সমস্ত ভিউয়ের জন্য একযোগভাবে ব্যবহৃত হবে।

২. _Layout.cshtml

_Layout.cshtml ফাইলটি একটি সাধারণ লেআউট ফাইল, যা সমস্ত ভিউয়ের জন্য একটি কাঠামো প্রদান করে। এখানে সাধারণত header, footer, এবং sidebars ইত্যাদি থাকে, যা বিভিন্ন ভিউতে পুনরায় ব্যবহৃত হয়।

<!DOCTYPE html>
<html>
<head>
    <title>@ViewData["Title"]</title>
</head>
<body>
    <header>
        <nav>
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/Products">Products</a></li>
            </ul>
        </nav>
    </header>

    <main>
        @RenderBody() <!-- এখানে অন্যান্য ভিউয়ের কন্টেন্ট যুক্ত হবে -->
    </main>

    <footer>
        <p>© 2024 My ASP.Net Application</p>
    </footer>
</body>
</html>

এখানে, @RenderBody() দ্বারা ভিউয়ের কন্টেন্ট লোড করা হয়। যখন আপনি কোন View তৈরি করবেন, তখন তার কন্টেন্ট এই অংশে প্রদর্শিত হবে।


Partial Views ব্যবহার

Partial View হলো ছোট, পুনঃব্যবহারযোগ্য ভিউ যা একটি ভিউতে আংশিকভাবে ইনক্লুড করা হয়। এটি সাধারণত ছোট অংশ (যেমন একটি পণ্য লিস্ট, টেবিল, অথবা ফর্ম) প্রদর্শন করতে ব্যবহৃত হয়।

Partial View তৈরি

@model string
<div class="product">
    <p>@Model</p>
</div>

Partial View ব্যবহার

public IActionResult Index()
{
    var products = new List<string> { "Product 1", "Product 2", "Product 3" };
    return View(products);
}
@foreach (var product in Model)
{
    @Html.Partial("_ProductPartial", product) <!-- Partial View ব্যবহার করা হচ্ছে -->
}

Razor Pages vs MVC Views

Razor Pages একটি ফিচার যা ASP.Net Core-এ MVC এর থেকে আলাদা, যেখানে প্রতিটি পেজের জন্য একটি আলাদা Razor পেজ এবং পেজ মডেল থাকে। যদিও Razor Pages এবং MVC Views উভয়ই Razor ব্যবহার করে, তবে Razor Pages কিছুটা সরলীকৃত পদ্ধতিতে কাজ করে।

Content added By
Promotion